package com.kestrel.space.core.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;

/**
 * @author yebolin
 * @date 2024/8/23
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "space_blog")
public class Blog {
    /**
     * 博客Id
     */
    @Id
    private Long id;
    /**
     * 由博客在网盘创建并编辑docx
     * 博客非博主只能查看pdf形式，无法编辑
     * 博主无法在线编辑，只能进行docx替换，重新生成pdf（占用原id）
     * 可以在pdf下方的评论区评论
     */
    private Long docxId;
    /**
     * file(pdf)编号
     */
    private Long pdfId;
    /**
     * 展示级别
     * 0 - 只有自己能查看
     * 1 - 所有人可以查看
     * 2 - 指定组织可以查看
     */
    private Integer exposeLevel;
    /**
     * 博客标题
     */
    private String title;
    /**
     * 博客简介
     */
    private String introduction;
    /**
     * 博客标签
     */
    private String label;
    /**
     * 上传者id
     */
    private Long userId;
    /**
     * 是否删除
     */
    private boolean ifDeleted;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 标签列表
     */
    @Transient
    private List<String> labelList;

    public void convertLabel() {
        labelList = Arrays.stream(label.split(",")).collect(Collectors.toList());
    }
}
